package com.tanhua.dubbo.api.mongo;

import com.tanhua.model.mongo.Option;
import com.tanhua.model.mongo.Question;
import com.tanhua.model.mongo.Questionnaire;
import com.tanhua.model.mongo.Soul;
import org.bson.types.ObjectId;

import java.util.List;
import java.util.Map;

public interface SoulApi {
    /**
     * 根据人格类型和性别查询用户ids
     *
     * @param personalityType 人格类型
     * @param newGender       性别
     * @param level
     * @return 用户ids
     */
    List<Soul> findSoulUserIdByType(Integer personalityType, String newGender, Integer level);

    /**
     * 根据报告id查询灵魂(鉴定)表soul
     *
     * @param reportId
     * @return
     */
    Soul findById(String reportId);

    /**
     * 获取选项列表
     */
    List<Option> getOptionsList();

    /**
     * 获取问题列表
     */
    List<Question> getQuestionList();

    /**
     * 获取问卷列表
     */
    List<Questionnaire> getQuestionnaireList();

    /**
     * 按用户 ID 获取结果
     */
    Map<Integer,ObjectId> getResultByUserId(Long userId);
}
